package com.demo.java.OD451_500.OD484;

import java.util.Scanner;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【火星文计算2(E卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146408063
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 读取输入的字符串
        String s = in.next();

        // 正则表达式，匹配形如x#y的表达式
        Pattern p = Pattern.compile("(\\d+)#(\\d+)");
        Matcher m;

        // 循环替换x#y的表达式
        while ((m = p.matcher(s)).find()) {
            // 提取x和y
            int x = Integer.parseInt(m.group(1));
            int y = Integer.parseInt(m.group(2));
            // 用4 * x + 3 * y + 2替换原有的x#y
            s = s.replaceFirst(p.pattern(), Integer.toString(4 * x + 3 * y + 2));
        }

        // 存储分隔后的数字
        ArrayList<Integer> arr = new ArrayList<>();
        String delimiter = "$";
        int pos = 0;

        // 按$分隔符将字符串分割并转化为整数
        while ((pos = s.indexOf(delimiter)) != -1) {
            String token = s.substring(0, pos);
            arr.add(Integer.parseInt(token));
            s = s.substring(pos + delimiter.length());
        }
        arr.add(Integer.parseInt(s)); // 最后一个部分

        // 根据公式计算结果
        int x = arr.get(0);
        for (int i = 1; i < arr.size(); i++) {
            x = 2 * x + arr.get(i) + 3;
        }

        // 输出最终的结果
        System.out.println(x);
    }
}